package main

import (
	"bufio"
	"fmt"
	"github.com/gookit/gcli/v2"
	"log"
	"net"
	"os"
	_ "runtime"
	"strings"
)

func main() {
	app := gcli.NewApp()
	app.Version = "V0.1.2a"
	print(" ████████     ██      ████████ ██████████         ██████      ██       ██████  ██      ██ ████████\n" +
		"░██░░░░░     ████    ██░░░░░░ ░░░░░██░░░         ██░░░░██    ████     ██░░░░██░██     ░██░██░░░░░ \n" +
		"░██         ██░░██  ░██           ░██           ██    ░░    ██░░██   ██    ░░ ░██     ░██░██      \n" +
		"░███████   ██  ░░██ ░█████████    ░██          ░██         ██  ░░██ ░██       ░██████████░███████ \n" +
		"░██░░░░   ██████████░░░░░░░░██    ░██          ░██        ██████████░██       ░██░░░░░░██░██░░░░  \n" +
		"░██      ░██░░░░░░██       ░██    ░██          ░░██    ██░██░░░░░░██░░██    ██░██     ░██░██      \n" +
		"░██      ░██     ░██ ████████     ░██     █████ ░░██████ ░██     ░██ ░░██████ ░██     ░██░████████\n" +
		"░░       ░░      ░░ ░░░░░░░░      ░░     ░░░░░   ░░░░░░  ░░      ░░   ░░░░░░  ░░      ░░ ░░░░░░░░ \n" +
		"     欢迎使用FAST_CACHE Cli           " +
		"     当前版本为 V0.0.1a\n")

	tcpAddr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:9000")
	if err != nil {
		log.Fatalln("地址解析错误", err)
	}
	tcpListener, err := net.ListenTCP("tcp", tcpAddr) //创建监听
	if err != nil {
		log.Fatalln("地址监听失败", err)
	}

	defer tcpListener.Close()
	fmt.Println("等待客户端连接......")
	tcpConn, err := tcpListener.AcceptTCP()
	if err != nil {
		log.Fatalln("接受客户端连接失败", err)
	}
	fmt.Println("客户端连接成功")
	for i := 1; i > 0; i++ {
		readers := bufio.NewReader(os.Stdin)
		res, _ := readers.ReadString('\n')
		res = strings.Trim(res, " ")
		if res == "\n" {
			continue
		} else if res == "quit\n" {
			fmt.Println("bye ~")
			break
		}
		_, err = tcpConn.Write([]byte(res))
		if err != nil {
			log.Fatalln("往客户端数据失败", err)
		}
		reader := bufio.NewReader(tcpConn)
		for {
			byteLen26 := make([]byte, reader.Size())
			_, _ = reader.Read(byteLen26)
			fmt.Println("fast-cache> " + string(byteLen26))
			break
		}
	}
}
